home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 8: LINUX Games / Linux Cubed Series 8 - LINUX Games.iso / games / x11 / networke / civ-0.000 / civ-0 / civ-0.3 / src / main.cc < prev    next >
C/C++ Source or Header  |  1996-03-04  |  2KB  |  82 lines

  1. #define VERSION "0.3"
  2.  
  3. #include "net.h"
  4. #include "debug.h"
  5. #include "display.h"
  6.  
  7. class Graphics;
  8.  
  9. Graphics *screen;
  10. int numPlayers;
  11. char *myName;
  12. char *serverName; // only used in windows
  13.  
  14. #ifdef FOR_X11
  15.  
  16. #include "X11Screen.h"
  17. #include <unistd.h>
  18. #include <stdlib.h>
  19. #include <stdio.h>
  20.  
  21. void optionhelp();
  22.  
  23. main(int argc, char **argv)
  24. {
  25.   extern char WorldCreate;
  26.   extern int distanceBetweenConts, contChunkSize;
  27.   extern int numberOfChunksPerCont;
  28.   numPlayers = 0;
  29.   myName = NULL;
  30.   opterr = 0;
  31.   int opt;
  32.   while ((opt = getopt(argc, argv, "h?sWd:w:")) != -1) {
  33.     if ((opt == 'h') || (opt == '?')) optionhelp();
  34.     if (opt == 'd') debugFlags = optarg;
  35.     if (opt == 'w') {
  36.       distanceBetweenConts = atoi(optarg);
  37.       contChunkSize = atoi(argv[optind++]);
  38.       numberOfChunksPerCont = atoi(argv[optind++]);
  39.       printf("dist %d, chunk size %d, number of chunks %d\n",
  40.          distanceBetweenConts,
  41.          contChunkSize, numberOfChunksPerCont);
  42.     }
  43.     if (opt == 's') WorldCreate = WorldCreate | 0x02;
  44.   }
  45.  
  46.   screen = new X11Screen(argc, argv, HandleKey);
  47.  
  48.   return screen->MainLoop();
  49. }
  50.  
  51. void optionhelp()
  52. {
  53.  printf("Multiplayer Civ v%s\n\n",VERSION);
  54.  printf("Usage: civ [-s] [-d flags] [-w distance size number]\n\n");
  55.  printf("    -d sets the debuging flags (cFinprsuw or +)\n");
  56.  printf("    -s sets the whole world visable\n");
  57.  printf("    -w sets the distance between continents, the size of a chunk\n");
  58.  printf("       and the number of chunks per continent\n");
  59.  exit(0);
  60. }
  61.  
  62. #else
  63.  
  64. #include <fcntl.h>
  65. #include <stdlib.h>
  66. #include "WScreen.h"
  67. #include "server.h"
  68. #include "defs.h"
  69.  
  70. int PASCAL WinMain(HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdLine,
  71.   int nCmdShow)
  72. {
  73.   _fmode = O_BINARY;
  74.   // registers class, displays civ window, asks for default server,
  75.   // player name and num players
  76.   screen = new WScreen(HandleKey, hInstance, hPrevInstance, nCmdShow);
  77.   CivInit(savedGame ? RestoreSaveFile : StartNewGame, serverName);
  78.   return screen->MainLoop();
  79. }
  80.  
  81. #endif
  82.